package modelLayer;


/**
 * Person, indeholder alle informationer omkring en person.
 * 
 * @author (Gruppe 2. Jonas, Danny, Kasper, Bruno & Jesper) 
 * @version (17/12-2012)
 */
public class Person
{
    private Ansat ansat;
    private Kunde kunde;
    private long id;
    private static long nextId = 0;
    private String navn;
    private String adresse;
    private String postNr;
    private String by;
    private String tlf;
    private String email;

    /**
     * Kontruktør for Person
     * 
     * @param   ansat   Ansat rollen.
     * @param   kunde   Kunde rollen.
     * @param   adresse Personens adresse.
     * @param   postNr  Personens postnummer.
     * @param   by      Personens by.
     * @param   tlf     Personens telefon nr.
     * @param   email   Personens email.
     */
    public Person(Ansat ansat, Kunde kunde, String navn, String adresse, String postNr, String by, String tlf, String email)
    {
        nextId++;
        id = nextId;
        this.ansat = ansat;
        this.kunde = kunde;
        this.navn = navn;
        this.adresse = adresse;
        this.postNr = postNr;
        this.by = by;
        this.tlf = tlf;
        this.email = email;
        
    }
    
    /**
     * Saetter den ansatte som betjener kunden.
     */
    public void setAnsat(Ansat a)
    {
        ansat = a;
    }
    
    /**
     * Saetter kunden paa ordren.
     */
    public void setKunde(Kunde k)
    {
        kunde = k;
    }
    
    /**
     * Get methoder til attributterne.
     */
    public String getNavn()
    {
        return navn;
    }
    /**
     * Returnerer personens addresse.
     * 
     * @return      returnerer personens adresse.
     */
    public String getAdresse()
    {
        return adresse;
    }
    /**
     * Returnere personens post nr.
     * 
     * @return      returnere personens post nr.
     */
    public String getPostNr()
    {
        return postNr;
    }
    
    /**
     * Returnerer personens by.
     * 
     * @return      returnerer personens by.
     */
    public String getBy()
    {
        return by;
    }
    
    /**
     * Returnere personens tlf.
     * 
     * @return      returnerer personens tlf.
     */
    public String getTlf()
    {
        return tlf;
    }
    /**
     * Returnerer personens email.
     * 
     * @return      returnerer personens email.
     */
    public String getEmail()
    {
        return email;
    }

    /**
     * Returnerer kunden (objektet).
     */
    public Kunde getKunde()
    {
        return kunde;
    }
    
    /**
     * Returnerer ansatten (objektet).
     */
    public Ansat getAnsat()
    {
        return ansat;
    }
}
